var base = require('./base.js');

class SimpleDB extends base{
	//构造函数
	constructor(filePath){
		//数据库文件路径
		// this.filePath=filePath;
		super(filePath)

		//默认表
		this.defaultTableName='default_Table'

		//当前使用的表名
		this.currentTableName='';

		//where条件
		this.condition='';

		this.createDefaultTable();

	}


	//创建默认table
	createDefaultTable(){
		let result=this.readFile();
		//判断默认表是否存在
		if(this.isEmpty(result)){
			let table={};
			table[this.defaultTableName]={};
			this.writeFile(table)
		}
	}

	//创建table
	createTable(name){
		let result=this.readFile();
		result[name]={};
		this.writeFile(result)
	}
	//============ start 添加数据 ===========//
	//添加数据
	insert(data){
		let result=this.readFile();
		//索引
		// let index=this.getObjectLen(result[this.defaultTableName]);
		let index=this.uuid();
		result[this.defaultTableName][index]=data;
		this.writeFile(result)
	}
	
	//添加数据并返回id
	insertGetId(data){
		let result=this.readFile();
		//索引
		// let index=this.getObjectLen(result[this.defaultTableName]);
		let index=this.uuid();
		result[this.defaultTableName][index]=data;
		this.writeFile(result)
		return index;
	}
	//============ end 添加数据 ===========//


	//============ start 删除数据 ===========//
	delete(id){
		let result=this.readFile();
		delete result[this.defaultTableName][id];
		this.writeFile(result)
	}
	//============ end 删除数据 ===========//


	//============ start 修改数据 ===========//
	update(data){
		let result=this.readFile();
		result[this.defaultTableName]=data;
		for(var key in obj){
			return obj[key];
		}
		this.writeFile(result)
	}

	//============ end 修改数据 ===========//


	//============ start 查询数据 ===========//
	//查询所有
	get(){
		let result=this.readFile();
		return result[this.defaultTableName];
	}
	//查询一条
	first(){
		let result=this.readFile();
		return this.getFirst(result[this.defaultTableName]);
	}
	//obj为我们的对象
	getFirst(obj){
		for(var key in obj){
			return obj[key];
		}
	}
	//============ end 查询数据 ===========//
	

	//============ end 条件 ===========//
	table(name){
		tableName=name;
		return this;
	}
	where(filed,symbol,value){
		return this;
	}
	//============ end 条件 ===========//



}
module.exports=SimpleDB;